home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / nucsim.bas < prev    next >
BASIC Source File  |  1988-11-09  |  12KB  |  317 lines

  1. 10 REM-Nuclear attack simulator
  2. 20 REM-by A.S. KANTER
  3. 30 REM-Original program by J.R. DUKAT
  4. 40 REM-Information presented is as good as my sources allow
  5. 50 REM-any corrections or improvements are welcomed........
  6. 60 REM
  7. 70 REM-start it up
  8. 80 SCREEN 1:CLS:KEY OFF
  9. 90 LOCATE 6,10,0:PRINT "DO YOU LOVE LOS ANGELES?";
  10. 100 FOR T=1 TO 3000:NEXT T:CLS
  11. 110 GOTO 160
  12. 120 GOSUB 2970
  13. 130 GOSUB 2940
  14. 140 SCREEN 1
  15. 150 CLS
  16. 160 COLOR 1,0
  17. 170 KEY OFF
  18. 180 LINE (158,3)-(339,20),2,B
  19. 190 LINE (158,27)-(338,190),2,B
  20. 200 LOCATE 2,21:PRINT " MAP....LOS ANGELES";
  21. 210 SCALE=1
  22. 220 XT=-140:YT=120
  23. 230 IBMX=150+(XT*SCALE):IBMY=99-((YT)*SCALE)
  24. 240 FLG=0
  25. 250 READ X,Y
  26. 260 IF X=999 AND Y=999 THEN 240
  27. 270 IF X=888 AND Y=888 THEN 370
  28. 280 X=X+TX:Y=Y+TY
  29. 290 X0=TX:Y0=TY
  30. 300 X=IBMX+X:Y=IBMY-(Y)
  31. 310 PSET (X,Y),1
  32. 320 IF FLG=0 THEN 340
  33. 330 LINE (X,Y)-(LASTX,LASTY)
  34. 340 LASTX=X:LASTY=Y
  35. 350 FLG=1
  36. 360 GOTO 250
  37. 370 READ X,Y
  38. 380 IF X=999 AND Y=999 THEN 410
  39. 390 PAINT (X,Y),2,3
  40. 400 GOTO 370
  41. 410 GOSUB 3020 ;DRAW COMPASS ROSE
  42. 420 IF NXTBOMB=1 THEN 2330
  43. 430 LOCATE 5,21:PRINT "  This map covers ";
  44. 440 LOCATE 6,21:PRINT " an area of appx. ";
  45. 450 LOCATE 7,21:PRINT " 1700 sq/mi.  The ";
  46. 460 LOCATE 8,21:PRINT " long dimension is";
  47. 470 LOCATE 9,21:PRINT " about 50 miles - ";
  48. 480 LOCATE 10,21:PRINT " short dimension  ";
  49. 490 LOCATE 11,21:PRINT " about 34 miles.  ";
  50. 500 LOCATE 12,21:PRINT " Downtown La is   ";
  51. 510 LOCATE 13,21:PRINT " near the center  ";
  52. 520 LOCATE 14,21:PRINT " of the map.  Long";
  53. 530 LOCATE 15,21:PRINT " Beach can be seen";
  54. 540 LOCATE 16,21:PRINT " in the south. The";
  55. 550 LOCATE 17,21:PRINT " Pacific Ocean    ";
  56. 560 LOCATE 18,21:PRINT " lies all along   ";
  57. 570 LOCATE 19,21:PRINT " the West.  River-";
  58. 580 LOCATE 20,21:PRINT " side and San     ";
  59. 590 FOR T=1 TO 9000:NEXT T
  60. 600 GOSUB 2970  ;CLEAR BIG BOX
  61. 610 LOCATE 5,21:PRINT " Bernadino lie off";
  62. 620 LOCATE 6,21:PRINT " the map to the   ";
  63. 630 LOCATE 7,21:PRINT " east.  UCLA and  ";
  64. 640 LOCATE 8,21:PRINT " Westwood lie near";
  65. 650 LOCATE 9,21:PRINT " the coast, about ";
  66. 660 LOCATE 10,21:PRINT " midway up the map";
  67. 710 FOR T=1 TO 8000:NEXT T
  68. 720 GOSUB 2970
  69. 730 LOCATE 5,21:PRINT "  This program is ";
  70. 740 LOCATE 6,21:PRINT " to demonstrate   ";
  71. 750 LOCATE 7,21:PRINT " effects from var-";
  72. 760 LOCATE 8,21:PRINT " ious nuclear war-";
  73. 770 LOCATE 9,21:PRINT " heads which might";
  74. 780 LOCATE 10,21:PRINT " be used in attack";
  75. 790 LOCATE 11,21:PRINT " ing Los Angeles..";
  76. 800 LOCATE 12,21:PRINT " This attack will ";
  77. 810 LOCATE 13,21:PRINT " consist of just  ";
  78. 820 LOCATE 14,21:PRINT " nine 1 MT. bombs.";
  79. 830 LOCATE 15,21:PRINT " They will explode";
  80. 840 LOCATE 16,21:PRINT " at an altitude of";
  81. 850 LOCATE 17,21:PRINT " 8000 ft. This sim";
  82. 860 LOCATE 18,21:PRINT " ulation would be ";
  83. 870 LOCATE 19,21:PRINT " considered on the";
  84. 880 LOCATE 20,21:PRINT " conservative side";
  85. 890 LOCATE 21,21:PRINT " A maximum attack ";
  86. 900 LOCATE 22,21:PRINT " would use around ";
  87. 910 LOCATE 23,21:PRINT " 60 warheads......";
  88. 920 FOR T=1 TO 11000:NEXT T
  89. 930 GOSUB 2970
  90. 940 TMR=2000
  91. 950 GOSUB 2940
  92. 960 LOCATE 2,21:PRINT "   Select Targets  ";
  93. 970 LINE (158,27)-(338,190),2,B
  94. 980 LOCATE 5,21:PRINT "   Downtown  LA  ";
  95. 990 SOUND 500,1:PSET (77,87),1
  96. 1000 FOR T=1 TO TMR:NEXT T
  97. 1010 LOCATE 6,21:PRINT "   Beverly Hills  ";
  98. 1020 SOUND 500,1:PSET (62,70),1
  99. 1030 FOR T=1 TO TMR:NEXT T
  100. 1040 LOCATE 7,21:PRINT "   LAX            ";
  101. 1050 SOUND 500,1:PSET (60,108),1
  102. 1060 FOR T=1 TO TMR:NEXT T
  103. 1070 LOCATE 8,21:PRINT "   Long Beach     ";
  104. 1080 SOUND 500,1:PSET (112,153),1
  105. 1090 FOR T=1 TO TMR:NEXT T
  106. 1100 LOCATE 9,21:PRINT "   Santa Monica   ";
  107. 1110 SOUND 500,1:PSET (50,90),1
  108. 1120 FOR T=1 TO TMR:NEXT T
  109. 1130 LOCATE 10,21:PRINT "   Burbank Air.   ";
  110. 1140 SOUND 500,1:PSET (72,20),1
  111. 1150 FOR T=1 TO TMR:NEXT T
  112. 1160 LOCATE 11,21:PRINT "   Torrance       ";
  113. 1170 SOUND 500,1:PSET (84,140),1
  114. 1180 FOR T=1 TO TMR:NEXT T
  115. 1190 LOCATE 12,21:PRINT "   Downey         ";
  116. 1200 SOUND 500,1:PSET (122,109),1
  117. 1210 FOR T=1 TO TMR:NEXT T
  118. 1220 LOCATE 13,21:PRINT "   Northridge     ";
  119. 1230 SOUND 500,1:PSET (35,10),1
  120. 1240 FOR T=1 TO TMR:NEXT T
  121. 1250 FOR I=5 TO 13
  122. 1260 LOCATE I,22:PRINT CHR$(26);
  123. 1270 SOUND 1000,1:FOR T=1 TO 50:NEXT T
  124. 1280 NEXT I
  125. 1290 LOCATE 2,21:PRINT " Targets Confirmed ";
  126. 1300 FOR T=1 TO 4000:NEXT T
  127. 1310 GOSUB 2970
  128. 1320 FOR S=1 TO 50:SOUND 9000,.5:SOUND 8000,.5:NEXT S
  129. 1330 LOCATE 2,21:PRINT "   Warhead Size    ";
  130. 1340 LOCATE 5,21:PRINT "   Each warhead is ";
  131. 1350 LOCATE 6,21:PRINT " one megaton - the ";
  132. 1360 LOCATE 7,21:PRINT " equivalent of one ";
  133. 1370 LOCATE 8,21:PRINT " million tons of   ";
  134. 1380 LOCATE 9,21:PRINT " TNT.              ";
  135. 1390 LOCATE 11,21:PRINT "  Warheads are set ";
  136. 1400 LOCATE 12,21:PRINT " to airburst at an ";
  137. 1410 LOCATE 13,21:PRINT " altitude of 8000  ";
  138. 1420 LOCATE 14,21:PRINT " feet.             ";
  139. 1430 FOR T=1 TO 5000:NEXT T
  140. 1440 GOSUB 2970:GOSUB 2940
  141. 1450 SOUND 8000,.5
  142. 1460 LOCATE 2,21:PRINT "   Targets Marked  ";
  143. 1470 PSET (77,87),Z
  144. 1480 PSET (62,70),Z
  145. 1490 PSET (60,108),Z
  146. 1500 PSET (112,153),Z
  147. 1510 PSET (50,90),Z
  148. 1520 PSET (72,20),Z
  149. 1530 PSET (84,140),Z
  150. 1540 PSET (122,109),Z
  151. 1550 PSET (35,10),Z
  152. 1560 C=C+1:IF C=150 THEN 1590
  153. 1570 IF Z=1 THEN Z=0 ELSE Z=1
  154. 1580 GOTO 1470
  155. 1590 LOCATE 2,21:PRINT " Time to detonate  ";
  156. 1600 FOR CD=10 TO 3 STEP -1
  157. 1610 LOCATE 6,23:PRINT USING "####";CD;
  158. 1620 LOCATE 6,28:PRINT "seconds";
  159. 1630 FOR T=1 TO 1000:NEXT T
  160. 1640 NEXT CD
  161. 1650 GOSUB 2970
  162. 1660 FOR S=1 TO 50:SOUND 4000,.5:SOUND 4500,.5:NEXT S
  163. 1670 LOCATE 2,21:PRINT " -- DETONATION --  ";
  164. 1680 S=1:I=5:R=0:GOSUB 2690
  165. 1690 LOCATE 5,21:PRINT "       ZONE 1      ";
  166. 1700 LOCATE 7,21:PRINT " Diameter 3 mi.    ";
  167. 1710 LOCATE 10,21:PRINT " Overpress. 25 psi ";
  168. 1720 LOCATE 11,21:PRINT " Wind Vel. 320 mph ";
  169. 1730 LOCATE 13,21:PRINT "   All structures  ";
  170. 1740 LOCATE 14,21:PRINT " above ground are  ";
  171. 1750 LOCATE 15,21:PRINT " destroyed.        ";
  172. 1760 LOCATE 17,21:PRINT " 98 % fatalities   ";
  173. 1770 LOCATE 19,21:PRINT " STBY FOR ZONE 2   ";
  174. 1780 FOR T=1 TO 5500:NEXT T
  175. 1790 GOSUB 2970
  176. 1800 S=6:I=10:R=3:GOSUB 2690
  177. 1810 LOCATE 5,21:PRINT "       ZONE 2      ";
  178. 1820 LOCATE 7,21:PRINT " Diameter 6 miles  ";
  179. 1830 LOCATE 10,21:PRINT " Overpress. 9 psi  ";
  180. 1840 LOCATE 11,21:PRINT " Wind Vel. 260 mph ";
  181. 1850 LOCATE 13,21:PRINT "  Factories/office ";
  182. 1860 LOCATE 14,21:PRINT " buildings collapse";
  183. 1870 LOCATE 15,21:PRINT " Severe damage to  ";
  184. 1880 LOCATE 16,21:PRINT " highway bridges.  ";
  185. 1890 LOCATE 17,21:PRINT " 50% dead 40% inj. ";
  186. 1900 LOCATE 19,21:PRINT " STBY FOR ZONE 3   ";
  187. 1910 FOR T=1 TO 5500:NEXT T
  188. 1920 GOSUB 2970
  189. 1930 I=19:R=1:GOSUB 2590 ;DRAW CIRCLES
  190. 1940 LOCATE 5,21:PRINT "       ZONE 3      ";
  191. 1950 LOCATE 7,21:PRINT " Diameter 10 mi.   ";
  192. 1960 LOCATE 10,21:PRINT " Overpress. 3 psi  ";
  193. 1970 LOCATE 11,21:PRINT " Wind Vel. 98 mph  ";
  194. 1980 LOCATE 13,21:PRINT "  Wood frame resid-";
  195. 1990 LOCATE 14,21:PRINT " ences severely    ";
  196. 2000 LOCATE 15,21:PRINT " damaged. People   ";
  197. 2010 LOCATE 16,21:PRINT " are blown around. ";
  198. 2020 LOCATE 17,21:PRINT " 2nd degree burns. ";
  199. 2030 LOCATE 18,21:PRINT " 10% dead 45% inj. ";
  200. 2040 LOCATE 20,21:PRINT " STBY FOR MORE..   ";
  201. 2050 FOR T=1 TO 5500:NEXT T
  202. 2060 GOSUB 2970
  203. 2070 LOCATE 5,21:PRINT " LONG RANGE EFFECT ";
  204. 2080 LOCATE 7,21:PRINT " Light door/plaster";
  205. 2090 LOCATE 8,21:PRINT " damage to 14.5 mi.";
  206. 2100 LOCATE 9,21:PRINT " Windows broken out";
  207. 2110 LOCATE 10,21:PRINT " to 30 miles.      ";
  208. 2120 LOCATE 12,21:PRINT " Flashblindness to ";
  209. 2130 LOCATE 13,21:PRINT " 13 miles daytime. ";
  210. 2140 LOCATE 14,21:PRINT " and to 50 miles at";
  211. 2150 LOCATE 15,21:PRINT " night clear sky.  ";
  212. 2160 FOR T=1 TO 5500:NEXT T
  213. 2170 GOSUB 2970:GOSUB 2940
  214. 2180 LOCATE 2,21:PRINT " WANNA SEE WORSE ? ";
  215. 2190 LOCATE 5,21:PRINT " If you wait just a";
  216. 2200 LOCATE 6,21:PRINT " second i'll redraw";
  217. 2210 LOCATE 7,21:PRINT " the map and drop  ";
  218. 2220 LOCATE 8,21:PRINT " just one 20 MT.war";
  219. 2230 LOCATE 9,21:PRINT " head centered on  ";
  220. 2240 LOCATE 10,21:PRINT " Downtown LA.      ";
  221. 2250 LOCATE 11,21:PRINT " I will mark zones ";
  222. 2260 LOCATE 12,21:PRINT " as before...      ";
  223. 2270 LOCATE 13,21:PRINT " Burst altitude for";
  224. 2280 LOCATE 14,21:PRINT " this device will  ";
  225. 2290 LOCATE 15,21:PRINT " be 17500 feet...  ";
  226. 2300 NXTBOMB=1
  227. 2310 FOR T=1 TO 9000:NEXT T
  228. 2320 RESTORE:GOTO 120
  229. 2330 SOUND 2000,1
  230. 2340 LOCATE 2,21:PRINT " Target Manhattan  ";
  231. 2350 LOCATE 5,21:PRINT "  20 MT. WARHEAD   ";
  232. 2360 PSET (77,87),0
  233. 2370 FOR T=1 TO 3000:NEXT T
  234. 2380 SOUND 5000,1:LOCATE 2,21:PRINT " -- DETONATION --  ";
  235. 2390 S=1:I=16:R=0:GOSUB 2830:S=17:I=23:R=1:GOSUB 2830
  236. 2400 CIRCLE (77,87),40,1
  237. 2410 FOR T=1 TO 3000:NEXT T
  238. 2420 GOSUB 2970
  239. 2430 LOCATE 6,21:PRINT " -FOR COMPARISON-  ";
  240. 2440 LOCATE 8,21:PRINT " I'll drop a 12.5  ";
  241. 2450 LOCATE 9,21:PRINT " kiloton bomb on   ";
  242. 2460 LOCATE 10,21:PRINT " Long Beach.       ";
  243. 2470 LOCATE 11,21:PRINT " (Hiroshima size)..";
  244. 2480 S=1:I=2:R=0:GOSUB 2900:S=3:I=4:R=3:GOSUB 2900
  245. 2490 FOR T=1 TO 10000:NEXT T:CLS:SCREEN 0:WIDTH 80
  246. 2500 LOCATE 10,15,0
  247. 2510 PRINT " Projection for U.S. & SOVIET warhead numbers for 1985"
  248. 2520 LOCATE 11,15,0
  249. 2530 PRINT " is a grand total of roughly 40000 of various sizes..."
  250. 2540 LOCATE 12,15,0
  251. 2550 PRINT " This total does not include other nuclear powers ..."
  252. 2560 LOCATE 17,19,0
  253. 2570 PRINT "             BYE/BYE  &  GOOD LUCK"
  254. 2580 FOR T=1 TO 9000:NEXT T:LOCATE 1,1,1:SYSTEM
  255. 2590 CIRCLE (77,87),I,R
  256. 2600 CIRCLE (62,70),I,R
  257. 2610 CIRCLE (60,108),I,R
  258. 2620 CIRCLE (112,153),I,R
  259. 2630 CIRCLE (50,90),I,R
  260. 2640 CIRCLE (72,20),I,R
  261. 2650 CIRCLE (84,140),I,R
  262. 2660 CIRCLE (122,109),I,R
  263. 2670 CIRCLE (35,10),I,R
  264. 2680 RETURN
  265. 2690 FOR GZ=S TO I
  266. 2700 CIRCLE (77,87),GZ,R
  267. 2710 CIRCLE (62,70),GZ,R
  268. 2720 CIRCLE (60,108),GZ,R
  269. 2730 CIRCLE (112,153),GZ,R
  270. 2740 CIRCLE (50,90),GZ,R
  271. 2750 CIRCLE (72,20),GZ,R
  272. 2760 CIRCLE (84,140),GZ,R
  273. 2770 CIRCLE (122,109),GZ,R
  274. 2780 CIRCLE (35,10),GZ,R
  275. 2790 FOR T=1 TO 300:NEXT T
  276. 2800 NEXT GZ
  277. 2810 REM-SINGLE WARHEAD ON MANHATTAN
  278. 2820 RETURN
  279. 2830 FOR GZ=S TO I
  280. 2840 CIRCLE (77,87),GZ,R
  281. 2850 FOR T=1 TO 300:NEXT T
  282. 2860 NEXT GZ
  283. 2870 FOR T=1 TO 300:NEXT T
  284. 2880 RETURN
  285. 2890 REM-sub to drop 12.5 kiloton bomb on staten island
  286. 2900 FOR GZ=S TO I
  287. 2910 CIRCLE (112,153),GZ,R
  288. 2920 FOR T=1 TO 300:NEXT T
  289. 2930 NEXT GZ
  290. 2940 REM- to clear small box
  291. 2950 LOCATE 2,21:PRINT "                  ";
  292. 2960 RETURN
  293. 2970 REM-sub to clear big box
  294. 2980 FOR I=5 TO 23
  295. 2990 LOCATE I,22:PRINT "                  ";
  296. 3000 NEXT I
  297. 3010 RETURN
  298. 3020 REM-sub to draw compass rose
  299. 3030 FOR I=20 TO 50 STEP 2:PSET (30,I),1:NEXT I
  300. 3040 FOR I=20 TO 40 STEP 4:PSET (I,35),1:NEXT I
  301. 3050 PSET (30,20),1:LINE -(27,23),1:PSET (30,20),1:LINE -(33,23),1
  302. 3060 RETURN
  303. 3070 DATA 0,-105,5,-104,10,-103,15,-104,20,-105,25,-105,30,-107
  304. 3080 DATA 35,-110,38,-115,41,-120,44,-125,46,-133,49,-136,50,-140
  305. 3090 DATA 51,-143,54,-147,55,-152,58,-156,59,-158,60,-160,58,-163
  306. 3100 DATA 56,-164,55,-166,51,-169,50,-172,51,-176,53,-178,54,-182
  307. 3110 DATA 56,-184,59,-183,60,-181,63,-183,65,-183,68,-185,70,-187
  308. 3120 DATA 77,-191,79,-190,82,-189,81,-187,82,-185,81,-180,84,-175
  309. 3130 DATA 86,-175,89,-171,88,-173,92,-172,87,-175,85,-177,84,-180
  310. 3140 DATA 84,-184,89,-179,93,-176,97,-175,98,-175,99,-177,92,-180
  311. 3150 DATA 99,-183,101,-180,103,-177,104,-170,107,-169,110,-171
  312. 3160 DATA 117,-180,121,-186,128,-190,132,-207,135,-207,135,0,0,0
  313. 3170 DATA 0,-105,888,888
  314. 3810 DATA 10,10,135,165
  315. 3820 DATA 999,999
  316. 3830 STOP
  317.